The invention relates to acoustic echo cancellation as applied to full-duplex speakerphones and teleconferencing systems.
To date, most of the speakerphones operate based on a half-duplex mode, i.e., at any given time the speech of one of the two parties at the two sides of the telephone line (i.e., the near-end and the far-end) can pass through to the other side. A detector on the telephone set senses the in-coming and out-going sounds and activates the line in one of the two possible directions. This arrangement creates an annoying chopping of the speech signals when the near-end and far-end parties talk at the same time. This problem is more serious if a similar technique is adopted for a teleconferencing system.
Full-duplex operation of speakerphones and teleconferencing systems can be realized by using adaptive filtering techniques. An adaptive filter is used to model the acoustics of the room and obtain a replica of the acoustical signal echoes which are coming from the loudspeaker and picked-up by the microphone.
The acoustical echoes generated in a normal size office room usually span over a couple of hundreds of milliseconds, and increases to several hundred milliseconds in larger size rooms. This demands the use of adaptive filters with a few thousand taps to get an accurate model of the room acoustics. Thus, the problem of acoustic echo cancellation is in the realization of very long adaptive filters.
Such adaptive filters are computationally very demanding in a real-time environment. It has been noted that this a problem is overcome by block processing of the signal samples in the frequency domain. See generally, Ferrara, E. R., xe2x80x9cFast implementation of EMS adaptive filtersxe2x80x9d, IEEE Trans. Acoust., Speech, and Signal Processing, vol. ASSP-28, pp. 474-475, August 1980, and Clark, G. A., S. R. Parker, and S. K. Mitra, xe2x80x9cA unified approach to time and frequency domain realization of FIR adaptive digital filtersxe2x80x9d, IEEE Trans. on Acoustic, Speech and Signal Processing, vol. ASSP-31, pp. 1073-1083, 1983. However, the frequency domain implementation of adaptive filters as originally proposed in the cited papers introduces some excessive delay at the filter output which becomes unacceptable as filter length increases. This problem has been resolved by introducing some partitioning on the convolution sum of the original filter and rearranging the sum as an aggregate of smaller convolutions. See generally, Asharif, M. R., and F. Amano, xe2x80x9cAcoustic echo-canceller using the FBAF algorithmxe2x80x9d, IEEE Transactions on Communications, vol. COM-42, pp. 3090-3094, 1994, Soo, J. S., and K. K. Pang, xe2x80x9cMultidelay block frequency domain adaptive filterxe2x80x9d, IEEE Trans. Acoust. Speech and Signal Process., vol. ASSP-38, pp. 373-376, 1990, and McLaughlin, xe2x80x9csystem and methods for an efficiently constrained frequency-domain adaptive filterxe2x80x9d, U.S. Pat. No. 5,526,426 (June 1996).
Although these reports suggest a solution to reduce the delay of the frequency domain adaptive filters, they create another problem. The resulting structure converges very slowly. The source of this problem has been identified by the inventor of the present inventionxe2x80x94see Farhang-Boroujeny, B., xe2x80x9cAnalysis and efficient implementation of partitioned block LMS adaptive filtersxe2x80x9d. IEEE Trans. Signal Processing, vol. 44, pp. 2865-2868, November 1996, herein incorporated by reference in its entirety, where it is suggested that the block length has to be shorter than the partition length.
In addition to the modelling of room acoustics, there are two more problems which have to be considered and solved for successful implementation of AEC systems.
The first problem is suppression of possible howling of the system that arises due to a positive feedback which may build up in a loop that includes a loudspeaker, microphone and hybrid circuit of a telephone line. This feedback causes an oscillation in the system and makes a very loud and annoying noise which disrupts the communication. To date, most of the acoustic echo cancelling systems assume that howling is suppressed once the acoustical echo of the room is modelled by the AEC adaptive filter. Although true in theory, this assumption is not completely correct in practice. The problem is that the howling may start once the room acoustics are changed due to some movements in the room and the intensity of the howling grows very fast. It is usually difficult for the adaptive filter of the AEC to quickly react and adapt before the system goes to an uncontrollable state. To resolve this problem, this invention suggests a simple and fast mechanism that can immediately stop the howling. This mechanism fits very nicely as an integral part of the proposed frequency domain implementation of the AEC.
The second problem is double-talk. The error signal in the AEC set-up is the transmit signal. This transmit signal is used to adapt the coefficients of the AEC to its environment. When there is no near-end (or local) speech (or any other sound) and the AEC coefficients approach their optimum values, the transmit signal approaches zero. This assures a small perturbation of the AEC coefficients around their optimal values after their adaptation. However, this does not remain the case when there is some near-end speech. The near-end speech results in a large transmit (error) signal. This, in turn, affects the setting of the AEC coefficients, as the transmit signal through the adaptive mechanism greatly disturbs the AEC coefficients. This results in an enhancement of the uncancelled echoes.
To resolve this problem, one should detect the state of double-talk in the AEC and take an appropriate action to minimize the disturbance of the AEC coefficients during double-talk periods. Most of the available echo-cancelling systems simply freeze the adaptation process, once a double-talk state is recognized. See generally, Ashley et al., xe2x80x9cMethod and apparatus for echo cancelling with double-talk immunityxe2x80x9d, U.S. Pat. No. 5,535,194 (July 1996), Miyamoto et al, xe2x80x9cDouble-talk detection in an echo cancellerxe2x80x9d, U.S. Pat. No. 4,894,820 (January 1990), and Furukawa et al, xe2x80x9cEcho cancellerxe2x80x9d, U.S. Pat. No. 5,463,618 (October 1995). This strategy works well only when there is no significant variation of the echo-path during the double-talk period and, thus, no adaptation of the AEC coefficients is required. In practice this is not necessarily the case. There is always some chance of variation of the echo path at any moment of time, including during the double-talk period. Freezing the AEC coefficients during double-talk is not appropriate. A better compromise solution is to continue adaptation during double-talk period, but use a smaller compromised step-size as discussed below. In this invention we propose a simple mechanism for detecting double-talk periods and controlling the step-size of the adaptation mechanism of the AEC during these periods.
In this invention we have developed a real-time software solution to the problem of acoustic echo cancellation. This solution combines a number of signal processing techniques to come-up with an efficient echo cancellation system. To demonstrate the efficiency of the proposed system, a program which can run in realtime on Pentium personal computers has been developed and tested. The proposed solution is based on a frequency domain adaptive filtering technique.
The invention gives a very effective solution to the problem of howling. The proposed solution takes advantage of the available frequency bins in the proposed frequency domain implementation and suggests an effective way of introducing a null at the frequency that howling occurs. This solution is not limited to the developed software. It can be used in other implementations of echo cancelling systems, as well.
The invention also gives a solution to the double-talk problem. A simple mechanism for detecting double-talk states is proposed. Furthermore, a method for controlling the step-size of the adaptation mechanism which results in a good compromise solution is devised. The proposed solution was experimentally tested and found to be very effective in real-world environments. This solution also is not limited to the developed software. It can be used in other implementations of echo cancelling systems as well.
Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.